|
The set cover problem is a classical question in combinatorics, computer science and complexity theory. It is one of Karp's 21 NP-complete problems shown to be NP-complete in 1972. It is a problem "whose study has led to the development of fundamental techniques for the entire field" of approximation algorithms. Given a set of elements (called the universe) and a collection of sets whose union equals the universe, the set cover problem is to identify the smallest sub-collection of whose union equals the universe. For example, consider the universe and the colletion of sets . Clearly the union of is . However, we can cover all of the elements with the following, smaller number of sets: . More formally, given a universe and a family of subsets of , a ''cover'' is a subfamily of sets whose union is . In the set covering decision problem, the input is a pair and an integer ; the question is whether there is a set covering of size or less. In the set covering optimization problem, the input is a pair , and the task is to find a set covering that uses the fewest sets. The decision version of set covering is NP-complete, and the optimization version of set cover is NP-hard . If each set is assigned a cost, it becomes a ''weighted'' set cover problem. ==Integer linear program formulation== The minimum set cover problem can be formulated as the following integer linear program (ILP). x_S \geqslant 1 | for all | (cover every element of the universe) |- | | | for all . | (every set is either in the set cover or not) |} This ILP belongs to the more general class of ILPs for covering problems. The integrality gap of this ILP is at most , so its relaxation gives a factor- approximation algorithm for the minimum set cover problem (where is the size of the universe). 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「set cover problem」の詳細全文を読む スポンサード リンク
|